Вход

Просмотр полной версии : margin и IE6


micscr
17.01.2010, 09:04
Вот занимаюсь сейчас по книге о CSS. Много говорят о свойстве margin и его отрицательных значениях. Но в IE6 такой код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Две колонки</title>
<style type="text/css">
body {
margin:50px;
}
#d1 {
background-color:#3399FF;
width:400px;
height:400px;
border:1px solid #3399FF;

}
#d2 {
background-color:#FF6699;
width:200px;
height:200px;
margin-top:-25px;
margin-left:-25px;
}
</style>
<body >
<div id="d1">
<div id="d2"></div>
</div>
</body>
</html>


не сдвигает потомка за родителя, а обрезает. Тоже касается и задания большей ширины. Сейчас читаю про плавающие элементы, тоже про margin пишут, про ширину ....
Может я чего не так понял и есть какая-то таблетка для IE?

P.S. Смысл в том, что хочу к дивной верстке придти, но пока особых возможностей за ней не заметил:( .

Riim
17.01.2010, 10:19
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Две колонки</title>
<style type="text/css">
body {
margin:50px;
}
#d1 {
background-color:#3399FF;
width:400px;
height:400px;
border:1px solid #3399FF;
position: relative;
z-index: 2;
}
#d2 {
background-color:#FF6699;
width:200px;
height:200px;
margin-top:-25px;
margin-left:-25px;
position: relative;
z-index: 1;
}
</style>
<body >
<div id="d1">
<div id="d2"></div>
</div>
</body>
</html>

micscr
17.01.2010, 10:57
Riim, спасибо. А без relative позиционирования значит никак?

Riim
17.01.2010, 11:14
А без relative позиционирования значит никак?
вроде ничего не придумывается. А чем он (relative) не нравится?

micscr
17.01.2010, 11:40
вроде ничего не придумывается. А чем он (relative) не нравится?

Да не то что не нравится просто позиционирование это одно а плавающие эл-ты и нормальный поток - другое. Вот из последних хотел выжать побольше возможностей. Именно их средствами.

Cuprum
17.01.2010, 16:44
micscr, это специфическая задача, париться по поводу IE6? В данном случае поведение осла - это баг, который, как заметил Riim лечится присвоением position:relative; для блоков.
Да не то что не нравится просто позиционирование это одно а плавающие эл-ты и нормальный поток - другое
Но ничто не запрещает одновременно использовать относительное позиционирование для плавающих элементов :)

B~Vladi
17.01.2010, 18:28
В данном случае поведение осла - это баг, который, как заметил Riim лечится присвоением position:relative; для блоков.

Мда... Главное, чтобы начинающие верстаки отличали "правильное" поведение от бага.
Совет от бывшего верстака: начинайте верстать под firefox, safari, chrome, а где не сходится - баг (99.9%). Здесь главное понять поведение, которое соответствует стандартам (рано или поздно все к этому придут).